home *** CD-ROM | disk | FTP | other *** search
/ HamCall (April 1991) / HAMCALL CD-ROM (Buckmaster)(April 1991).BIN / geograph / atlas / geograph.600 < prev    next >
Text File  |  1990-10-14  |  9KB  |  411 lines

  1.  
  2. SUB Geography (H%) Static
  3.     H% = 5
  4. 700 Screen 0:View Print 1 to 25:Color 1,3,3:Width 80
  5.     CLS
  6.     Call Frame (2,78,2,23)
  7.     Call Frame (2,78,2,4)
  8.     Call Frame (25,54,2,4)
  9.     Locate 4,2:print Chr$(204)
  10.     Locate 4,78:print Chr$(185)
  11.     Color 3,1
  12.     Locate 3,28:print"   Physical World Menu   "
  13.  
  14.     Color 7
  15.     Locate 9,24:print String$(31,219)
  16.     Locate 11,24:print String$(31,219)
  17.     Locate 13,24:print String$(31,219)
  18.     Locate 15,24:print String$(31,219)
  19.     Locate 17,24:print String$(31,219)
  20.  
  21.     color 4,7
  22.     Call Frame (23,55,7,19)
  23.  
  24.     color 1,7
  25.     Locate 8,24:print "  1. List Mountains.           "
  26.     Locate 10,24:print"  2. List Lakes.               "
  27.     Locate 12,24:print"  3. List Rivers/Find River.   "
  28.     Locate 14,24:print"  4. List Islands.             "
  29.     Locate 16,24:print"  5. List Oceans.              "
  30.     Locate 18,24:print"  6. Return to World Menu.     "
  31.     color 1,3
  32.     Locate 22,5:input"Enter your choice by number ---> ", choice
  33.  
  34.          IF choice = 1 THEN
  35.             goto 835
  36.          ELSEIF choice = 2 THEN
  37.             goto 900
  38.          ELSEIF choice = 3 THEN
  39.             goto 925
  40.          ELSEIF choice = 4 THEN
  41.             goto 940
  42.          ELSEIF choice = 5 THEN
  43.             goto 945
  44.          ELSEIF choice = 6 THEN
  45.             goto 955
  46.          END IF
  47.  
  48.     GOTO 700
  49.  
  50.  
  51. '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  52.  
  53.  ' ListMount
  54.  
  55. 835  Open "Mountain.600" for Random as #1 LEN = 64
  56.  
  57.         Field #1,2 AS Rank$,_
  58.             21 AS Mountain$,_
  59.             19 AS Country1$,_
  60.             12 AS Country2$,_
  61.             8 AS Country3$,_
  62.             2 AS Elevation$
  63.  
  64.         NumberofRecords% = LOF(1) / 64
  65.  
  66.     Get #1,NumberofRecords%
  67.  
  68.     CLS
  69.     color 1
  70.     locate 2:print String$(160,219)
  71.     print String$(3,030)
  72.     color 7,1:print" World"
  73.     print tab(2);"Rank   Mountain";tab(28);"Country(ies)";tab(70)"Elevation  "
  74.     view print 4 to 25:color 1,3
  75.     lin% = 3
  76.  
  77.     for z = 1 to NumberofRecords%
  78.  
  79.     get #1,z
  80.  
  81.         print using"###";cvi(Rank$);
  82.         print tab(6);Mountain$;
  83.         print tab(28);Country1$;
  84.         print tab(48);Country2$;
  85.         print tab(61);Country3$;
  86.         print tab(70);using"##,### ft.";cvi(Elevation$)
  87.         lin% = lin% + 1
  88.         IF lin% = 23 THEN
  89.                 Call Pause2
  90.                 cls 2
  91.                 lin% = 2
  92.         END IF
  93.  
  94.  
  95.     next z
  96.     print:print:print
  97.     view print 1 to 25
  98.     Close #1
  99.     Call pause2
  100.  
  101.  
  102. GOTO 700
  103.  
  104.  
  105.  ' ListLakes
  106.  
  107. 900  Open "Lakes.600" for random as #1 LEN = 61
  108.         Field #1, 2 AS Rank$,_
  109.             18 AS Lake$,_
  110.             13 AS Country1$,_
  111.             13 AS Country2$,_
  112.             6 AS Country3$,_
  113.             5 AS Country4$,_
  114.             4 AS Area$
  115.  
  116.         NumberofRecords% = LOF(1) / 61
  117.  
  118.     Get #1,NumberofRecords%
  119.  
  120.     CLS
  121.     color 1
  122.     locate 2:print String$(160,219)
  123.     print String$(3,030)
  124.     color 7,1:print" World"
  125.     print tab(2);"Rank   Lake";tab(28);"Country(ies)";tab(70)"  Area     "
  126.     color 1,3,3:view print 4 to 25
  127.     lin% = 3
  128.  
  129.     for z = 1 to NumberofRecords%
  130.  
  131.     get #1,z
  132.  
  133.         print using"###";cvi(Rank$);
  134.         print tab(5);Lake$;
  135.         print tab(24);Country1$;
  136.         print tab(38);Country2$;
  137.         print tab(52);Country3$;
  138.         print tab(59);Country4$;
  139.         print tab(66);using"###,### sq.mi.";cvs(Area$)
  140.         lin% = lin% + 1
  141.         IF lin% = 23 THEN
  142.             Call Pause2
  143.             cls 2
  144.             lin% = 2
  145.         END IF
  146.  
  147.     next z
  148.     print
  149.     Close #1:view print 1 to 25
  150.     Call pause2
  151.  
  152.  
  153. GOTO 700
  154.  
  155.  
  156.  
  157.  'RiverList
  158.  
  159. 925 Open "Rivers.600" for random as #1 LEN = 114
  160.         Field #1, 2 AS Rank$,_
  161.             22 AS River$,_
  162.             14 AS Country1$,_
  163.             14 AS Country2$,_
  164.             14 AS Country3$,_
  165.             14 AS Country4$,_
  166.             14 AS Country5$,_
  167.             2 AS Length$,_
  168.             1 AS Direction$,_
  169.             17 AS Feeds$
  170.  
  171.         NumberofRecords% = LOF(1) / 114
  172.  
  173.  
  174. 926 color 1,3,3:cls
  175.     locate 5,5:input"[S]earch for a river or [L]ist Rivers? ",Ans$
  176.         IF Ans$ = "L" or Ans$ = "l" THEN goto 927
  177.         IF Ans$ = "S" or Ans$ = "s" THEN goto 930
  178.  
  179. 927 CLS
  180.     color 1
  181.     locate 2:print String$(160,219)
  182.     print String$(3,030)
  183.     color 7,1:print" World";tab(72);"Length"
  184.     print tab(2);"Rank   River";tab(28);"Country(ies)";tab(72)"(miles)"
  185.     view print 4 to 25:color 1,3,3
  186.     lin% = 2
  187.  
  188.     for z = 1 to NumberofRecords%
  189.  
  190.     get #1,z
  191.  
  192.         print using"###";cvi(Rank$);
  193.         print tab(5);River$;
  194.         print tab(28);Country1$;
  195.         print tab(43);Country2$;
  196.         print tab(58);Country3$;
  197.  
  198.         Character$ = LEFT$(Country4$,1)
  199.             IF (Character$ >= "A" and Character$ =< "z") THEN
  200.                 print tab(43);Country4$;
  201.                 print tab(58);Country5$;
  202.                 lin% = lin% + 1
  203.             END IF
  204.  
  205.         print tab(72);using"###,###";cvi(Length$)
  206.         lin% = lin% + 1
  207.         IF lin% = 23 THEN
  208.                 Call Pause2
  209.                 cls 2
  210.                 lin% = 2
  211.         END IF
  212.  
  213.     next z
  214.     view print 1 to 25
  215.     print:print
  216.     locate 24:color 7,0
  217.     input"    [S]earch for a River            [R]eturn to Geography menu.            ",Ch$
  218.     color 1,3,3
  219.         IF Ch$ = "S" or Ch$ = "y" THEN goto 930
  220.         IF CH$ = "R" or Ch$ = "r" or Ch$ = "" THEN goto 935
  221.  
  222. 930 cls
  223.  
  224. locate 5,5:input"Enter river name -----> ",Seek$
  225.     L = LEN(Seek$)
  226.     yline = 8
  227.     for z = 1 to NumberofRecords%
  228.         get #1,z
  229.  
  230.         Target$ = LEFT$(River$,L)
  231.         IF (Target$ = Seek$) THEN
  232.  
  233.             Word$ = River$
  234.             gosub 2500
  235.             NewRiver$ = LEFT$(River$,L%+1)
  236.  
  237.                     IF NewRiver$ = "Danube " THEN
  238.                         C$ = "Bulgaria"
  239.                         Ref% = 3
  240.                         goto 933
  241.                     ELSEIF NewRiver$ = "Tisza " THEN
  242.                         C$ = "Yugoslavia"
  243.                         Ref% = 3
  244.                         goto 933
  245.                     END IF
  246.  
  247.             C$ = Country5$
  248.                 IF Country5$ = "              " THEN C$ = Country4$
  249.                 IF Country4$ = "              " THEN C$ = Country3$
  250.                 IF Country3$ = "              " THEN C$ = Country2$
  251.                 IF Country2$ = "              " THEN C$ = Country1$
  252.  
  253.  
  254. 933                     locate yline,5:print "The ";
  255.             print NewRiver$;" flows generally ";Direction$;
  256.                         IF Direction$ = "N" THEN print"orth, out of ";C$
  257.                         IF Direction$ = "E" THEN print"ast, out of ";C$
  258.                         IF Direction$ = "S" THEN print"outh, out of ";C$
  259.                         IF Direction$ = "W" THEN print"est, out of ";C$
  260.  
  261.  
  262.             Word$ = Feeds$
  263.  
  264.             gosub 2500
  265.  
  266.             NewFeeds$ = LEFT$(Feeds$,L%+2)
  267.             934 print" and empties into the ";NewFeeds$;"."
  268.             print
  269.  
  270.             print"   The ";NewRiver$;" ranks number";using " ### ";cvi(Rank$);
  271.             print"in length among the world's rivers,"
  272.             print"with a length of";
  273.             print using" #,### miles.";cvi(Length$)
  274.             yline = yline + 8
  275.             IF Ref% = 3 THEN goto 45
  276.             ELSEIF yline > 16 THEN
  277.                 yline = 8
  278.                 Call Pause2
  279.                 view print 4 to 24
  280.                 cls 2
  281.  
  282.         END IF
  283.     next z
  284. 45 view print 1 to 24
  285. Ref% = 0:locate 24:color 7,0
  286.     input"    [S]earch for another River      [R]eturn to Geography menu.            ",Ch$
  287.     color 1,3,3
  288.         IF Ch$ = "S" or Ch$ = "s" THEN goto 930
  289.         IF Ch$ = "R" or Ch$ = "r" or Ch$ = "" THEN goto 935
  290.  
  291.  
  292. 935 Close #1
  293. GOTO 700
  294.  
  295.  'Island List
  296.  
  297. 940 Open "Islands.600" for random as #1 LEN = 40
  298.         Field #1, 2 AS Rank$,_
  299.             16 AS Island$,_
  300.             18 AS Country$,_
  301.             4 AS Area$
  302.  
  303.         NumberofRecords% = LOF(1) / 40
  304.  
  305.     lin% = 2
  306.     CLS
  307.     color 1
  308.     locate 2:print String$(160,219)
  309.     print String$(3,030):color 7,1:print" World"
  310.     print tab(2);"Rank   Island";tab(28);"Country(ies)";tab(70)"  Area     "
  311.     color 1,3,3:view print 4 to 25
  312.  
  313.  
  314.     for z = 1 to NumberofRecords%
  315.     get #1,z
  316.  
  317.         print using"###";cvi(Rank$);
  318.         print tab(5);Island$;
  319.         print tab(24);Country$;
  320.         print tab(66);using"###,### sq.mi.";cvs(Area$)
  321.         lin% = lin% + 1
  322.         IF lin% = 23 THEN
  323.             Call Pause2
  324.             cls 2
  325.             lin% = 2
  326.         END IF
  327.  
  328.     next z
  329.     Close #1
  330.     view print 1 to 25
  331.     Call pause2
  332.  
  333. GOTO 700
  334.  
  335. 945 Open "Oceans.600" for random as #1 LEN = 27
  336.         Field #1, 2 AS Rank$,_
  337.              17 AS Ocean$,_
  338.              4 AS Area$,_
  339.              4 AS Depth$
  340.  
  341.         NumberofRecords% = LOF(1) / 27
  342.  
  343.     CLS
  344.     color 1
  345.     print String$(80,219);:color 7,1:print tab(2);"Rank   Ocean";_
  346.     tab(49);"Area";tab(65)"Greatest Depth  "
  347.     color 1,3
  348.  
  349.  
  350.     for z = 1 to NumberofRecords%
  351.     get #1,z
  352.  
  353.         print using"##";cvi(Rank$);
  354.         print tab(8);Ocean$;
  355.         print tab(43);using"###,###,### sq.mi.";cvs(Area$);
  356.         print tab(68);using"##,### ft.";cvs(Depth$)
  357.  
  358.     next z
  359.  
  360.     Close #1
  361.     Call pause2
  362.  
  363.  
  364. GOTO 700
  365.  
  366. 2500
  367.  
  368.     Lnumber% = LEN(Word$)
  369.     L%=0
  370.     For i% = 1 to Lnumber%
  371.         Character$ = MID$(Word$,i%,1)
  372.             IF (Character$ >= "A" AND Character$ =< "z") or_
  373.                 (Character$ = "-") or (Character$ = "(") or_
  374.                 (Character$ = ")") THEN
  375.                     L%=L%+1
  376.  
  377.             END IF
  378.  
  379.     Next i%
  380.     'Word$ = LEFT$(Word$,L)
  381. RETURN
  382.  
  383.  
  384.  
  385. 955 END SUB
  386.  
  387. SUB Pause2 Static
  388.  
  389.     Locate 25,30:input"[ENTER] to Continue",d
  390.     Locate 25,30:print"                      "
  391. END SUB
  392.  
  393. SUB FRAME (leftcol%, rightcol%,toprow%,bottomrow%) STATIC
  394.     LOCATE TOPROW%, LEFTCOL%: PRINT CHR$(201)
  395.     LOCATE TOPROW%, RIGHTCOL%: PRINT CHR$(187)
  396.     LOCATE BOTTOMROW%, LEFTCOL%: PRINT CHR$(200)
  397.     LOCATE BOTTOMROW%, RIGHTCOL%: PRINT CHR$(188)
  398.  
  399.     FOR VERTlin%=TOPROW% + 1 TO BOTTOMROW% -1
  400.         LOCATE VERTlin%, LEFTCOL%: PRINT CHR$ (186)
  401.         LOCATE VERTlin%, RIGHTCOL%: PRINT CHR$(186)
  402.     NEXT VERTlin%
  403.  
  404.     HORIZLENGTH% = RIGHTCOL% - LEFTCOL% -1
  405.     HORIZLINE$ = STRING$(HORIZLENGTH%, 205)
  406.     LOCATE TOPROW%, LEFTCOL% + 1:PRINT HORIZLINE$
  407.     LOCATE BOTTOMROW%, LEFTCOL% + 1: PRINT HORIZLINE$;
  408. END SUB
  409.  
  410.  
  411.